import Vue from 'vue';
export default {
	/**
	 * 页面跳转
	 * @param {string} to 跳转链接 (节流，防止操作过快造成多次跳转)
	 * @param {Object} param 参数 {key : value, ...}
	 * @param {string} type 模式 
	 */
	route(url, params = {}, type) {
		Vue.prototype.$u.throttle(this.navToThrottle(url, params, type), 500);
	},
	navToThrottle(url, params, type) {
		if (!type) {
			Vue.prototype.$u.route({
				url,
				params
			});
		} else {
			Vue.prototype.$u.route({
				url,
				params,
				type
			});
		}
	},
	/**
	 * methods: sleep
	 * @param params deliveryState: 状态码
	 * @param params payState: 状态码
	 * @param params deliveryState: 状态码
	 */
	setStatus(time = 1500) {

	},
	/**
	 * methods: 处理电话号码
	 * @param params telNum: 电话号码
	 */
	formatPhone(telNum) {
		let tel = telNum;
		tel = "" + tel;
		let reg = /(\d{3})\d{4}(\d{4})/;
		let tel1 = tel.replace(reg, "$1****$2")
		return tel1
	},
	/**
	 * methods: 处理名字
	 * @param params str: 姓名
	 */
	formatName(str) {
		return str.substr(0, 1) + new Array(str.length).join('*');
	},
	/**
	 * methods: sleep
	 * @param params time:时间，
	 */
	sleep(time = 1500) {
		return new Promise((resolve) => {
			setTimeout(() => {
				resolve(true)
			}, time)
		})
	},
	/**
	 * 浮动价格
	 * @param {string} price 真实价格
	 */
	setPirce(price = 0) {
		let num = Number(price) * 1.2;
		num = num.toFixed(1);
		return num;
	},
	/**
	 * 页面返回
	 * @param {string} delta 跳转层数 (节流，防止操作过快造成多次跳转)
	 */
	back(delta = 1) {
		Vue.prototype.$u.throttle(uni.navigateBack({
			delta
		}), 500)
	},
	/**
	 * 页面返回
	 * @param {string} delta 跳转层数 (节流，防止操作过快造成多次跳转)
	 */
	previewImage(urls, current = 1) {
		// 预览图片
		const list = urls;
		let imgList = [];
		list.forEach(item => {
			imgList.push(item.generateUrl);
		})
		uni.previewImage({
			urls: imgList,
			current,
			indicator: 'number',
			loop: true,
		});
	},
	/**
	 * 图片过滤器
	 * @param {string} str 图片字符串形数组
	 */
	setImgae(str) {
		if(str == '' || str == null) return '';
		if (str.indexOf(',') == -1) {
			return str
		} else {
			const {
				generateUrl
			} = str.split(',');
			return generateUrl;
		}
	},
	/**
	 * 未登录
	 */
	async emptyToken() {
		uni.showToast({
			title: '请登录',
			icon: 'error',
			success() {
				uni.navigateTo({
					url: '/pages/public/login'
				})
			}
		})
	},
}